home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Commodities / JoyRide / JoyRide.Doc < prev    next >
Text File  |  1996-09-26  |  5KB  |  109 lines

  1. ***************************************************************************
  2. *                                                                         *
  3. *                                JoyRide V1.0                             *
  4. *                                                                         *
  5. *                          © 1994 by Brian Koetting                       *
  6. *                                                                         *
  7. ***************************************************************************
  8.  
  9.  
  10. ** DISTRIBUTION:***********************************************************
  11.  
  12. JoyRide is FREEWARE and FREELY redistributable.  No restrictions are placed
  13. upon its distribution, alone, or with another package, whether commercial,
  14. or otherwise.
  15.  
  16. ** AAD:********************************************************************
  17.  
  18. Please add ALL APPLICABLE DISCLAIMERS here.
  19.  
  20. ** INTRODUCTION:***********************************************************
  21.  
  22. JoyRide is a commodity that provides an intuition front-end for joystick
  23. events.  This has some nice advantages for both users and programmers.
  24.  
  25. There are three (3) basic features you get:
  26. a) A simple joystick interface through a window's IDCMP port.
  27.     No joystick-specific code has to be used, JoyRide initializes and
  28.     handles all the trigger-setting and reading of the joystick.
  29.     The joystick events are passed to your application in the same
  30.     manner as all other intuition events through your window's IDCMP,
  31.     just like IDCMP_RAWKEY and IDCMP_MOUSEBUTTON.
  32. b) Application shareable joystick events.
  33.     Normally, only one application can allocate the joystick at a time.
  34.     In other words, no two applications that both use the joystick can
  35.     multitask.  JoyRide handles this in the same manner the
  36.     keyboard.device handles key presses.  That is, it sends them down
  37.     the input.device where they are passed to the active window
  38.     (or "input focus").  In this way, many programs can now share
  39.     joystick events.
  40. c) Joystick events now pass through the input.device stream.
  41.     This is helpful because now screen blankers know that you're
  42.     using the computer and won't blank during joystick games!
  43.  
  44. AmigaOS should already contain this functionality.  Perhaps in the future.
  45. Until then, JoyRide can potentionaly add usefulness and flexibiliy to
  46. using the joystick in an OS friendly manner within your applications.
  47.  
  48. ** USAGE:******************************************************************
  49.  
  50. JoyRide runs only under AmigaDOS 2.0 and above.
  51.  
  52. Basically, you can just put JoyRide in your WBStartup drawer or any other
  53. convienant location.  By double clicking on its icon (or typing its name
  54. from a shell) you can alternately start and stop JoyRide.  Since it is a
  55. commodity, it can also be deactivated or removed through the commodities
  56. Exchange program.
  57.  
  58. Note also that JoyRide is basically incompatible with previously written
  59. applications that use the joystick, and will most likely have to be
  60. terminated before any such programs are used.
  61.  
  62. ** HOW TO IMPLEMENT:*******************************************************
  63.  
  64. Joystick events are sent as IDCMP_RAWKEY events.  The "Code" field of your
  65. IntuiMessage will contain a 0x7F (which is an unused rawkey code, and is
  66. not used by any keyboard).  The presence of this value means that a
  67. joystick event has occurred.  The status of the joystick is contained in
  68. the "Qualifier" field.  The directional values are indicated by the
  69. presence of the following bits:
  70.  
  71.     +--------+----------------------+
  72.     | Status | Qualifier bits       |
  73.     +========+======================+
  74.     | Right  |  IEQUALIFIER_RSHIFT  |
  75.     | Left   |  IEQUALIFIER_LSHIFT  |
  76.     | Down   |  IEQUALIFIER_RALT    |
  77.     | Up     |  IEQUALIFIER_LALT    |
  78.     +--------+----------------------+
  79.     | FIRE   |  IEQUALIFIER_LBUTTON |
  80.     +--------+----------------------+
  81.  
  82. The absence of all these bits naturally indicates that the joystick is in
  83. the upright position, and the button is not pressed.
  84.  
  85. Please see the example program "joy_tst.c" that should be included in this
  86. archive.
  87.  
  88. Additionally, JoyRide opens a public port named "JoyRide" that may be
  89. searched for (via FindPort()) in order to asses whether or not JoyRide is
  90. currently in use.
  91.  
  92. ** CREDITS, COMMENTS, REQUESTS, BUGS, DONATIONS:***************************
  93.  
  94.     Brian Koetting can be reached through:
  95.  
  96.     BIX: bsk
  97.     EMAIL: koettingb@yvax.byu.edu
  98.            bsk@bix.com
  99.  
  100.     MAIL:
  101.     671 East 420 North
  102.     Provo, Utah 84606
  103.  
  104. ** HISTORY:****************************************************************
  105.  
  106. V1.0 First public release
  107.  
  108. ***************************************************************************
  109.